#!/usr/bin/env bash
#
# This script creates a virtualenv named 'env' and installs all
# python dependencies before activating the env and running Electrum.
# If 'env' already exists, it is activated and Electrum is started
# without any installations. Additionally, the PYTHONPATH environment
# variable is set so that system packages such as e.g. apt installed
# PyQt5 will also be visible.
#
# By default, only pure python dependencies are installed.
# If you would like more extras to be installed, do e.g.:
# $ source ./env/bin/activate
# $ pip install -e '.[crypto,gui,hardware]'
# $ deactivate

set -e

PYTHON_VER="$(python3 -c 'import sys; print(sys.version[:3])')"

cd $(dirname $0)
if [ -e ./env/bin/activate ]; then
    source ./env/bin/activate
    # FIXME what if this is an old directory and our requirements
    #       changed in the meantime? should run "pip install -e . --upgrade"
else
    python3 -m venv env
    source ./env/bin/activate
    pip install -e .
fi

export PYTHONPATH="$PYTHONPATH:"\
"/usr/local/lib/python${PYTHON_VER}/site-packages:"\
"/usr/local/lib/python${PYTHON_VER}/dist-packages:"\
"/usr/lib/python3/dist-packages:"\
"/usr/lib/python${PYTHON_VER}/site-packages:"\
"${HOME}/.local/lib/python${PYTHON_VER}/site-packages"


./run_electrum "$@"
